﻿using System;
using System.Collections.Generic;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.mdx;

namespace SharpSqlAnalyzer.stmt.mdx
{
	// Token: 0x02000197 RID: 407
	public class TMdxCreateSessionCube : TCustomSqlStatement
	{
		// Token: 0x06000E10 RID: 3600 RVA: 0x00309600 File Offset: 0x00307800
		public TMdxCreateSessionCube(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstmdxcreatesessioncube;
		}

		// Token: 0x06000E11 RID: 3601 RVA: 0x00309614 File Offset: 0x00307814
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			this.createSessionCubeNode = (TMdxCreateSessionCubeNode)this.rootNode;
			return 0;
		}

		// Token: 0x1700028C RID: 652
		// (get) Token: 0x06000E12 RID: 3602 RVA: 0x0030963A File Offset: 0x0030783A
		public virtual TMdxIdentifierNode CubeName
		{
			get
			{
				return this.createSessionCubeNode.CubeName;
			}
		}

		// Token: 0x1700028D RID: 653
		// (get) Token: 0x06000E13 RID: 3603 RVA: 0x00309647 File Offset: 0x00307847
		public virtual List<TMdxIdentifierNode> CubeList
		{
			get
			{
				return this.createSessionCubeNode.CubeList;
			}
		}

		// Token: 0x1700028E RID: 654
		// (get) Token: 0x06000E14 RID: 3604 RVA: 0x00309654 File Offset: 0x00307854
		public virtual List<TMdxObjectNode> ParamList
		{
			get
			{
				return this.createSessionCubeNode.ParamList;
			}
		}

		// Token: 0x06000E15 RID: 3605 RVA: 0x00309661 File Offset: 0x00307861
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000E16 RID: 3606 RVA: 0x00309674 File Offset: 0x00307874
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			foreach (TMdxObjectNode tmdxObjectNode in this.ParamList)
			{
				tmdxObjectNode.acceptChildren(v);
			}
			v.postVisit(this);
		}

		// Token: 0x04001323 RID: 4899
		private TMdxCreateSessionCubeNode createSessionCubeNode;
	}
}
